// DeviceState.h
#ifndef DEVICE_STATE_H
#define DEVICE_STATE_H

#include <string>

class DeviceState {
public:
    static DeviceState& getInstance() {
        static DeviceState instance;    // 懒加载 + 线程安全（C++11及以上）
        return instance;
    }

    void Initialize(int argc, char* argv[]);

    std::string serialNumber;
    std::string appFilePath;
    std::string audioFilePath;

    // 禁止复制和移动
    DeviceState(const DeviceState&) = delete;
    DeviceState& operator=(const DeviceState&) = delete;

private:
    DeviceState() = default;    // 禁止外部构造
    ~DeviceState() = default;

    bool initSerialNumber(const std::string& sysInfoPath);
};

#endif    // DEVICE_STATE_H